export default {
    //手机号
    phone: (rule, value, callback) => {
        let regex = /^1[3|4|5|8][0-9]\d{4,8}$/;
        if (!regex.test(value)) {
            callback(new Error('请输入正确的手机号'));
        } else {
            callback();
        }
    },
    //座机加手机
    tel: (rule, value, callback) => {
        let regex = /^1[3|4|5|8][0-9]\d{4,8}$/;
        let regex2 = /^0\d{2,3}-\d{7,8}(-\d{1,6})?$/;
        if (!regex.test(value) && !regex2.test(value)) {
            callback(new Error('请输入正确的手机号或座机号'));
        } else {
            callback();
        }
    },
    //邮箱
    email: (rule, value, callback) => {
        let regex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        if (!regex.test(value)) {
            callback(new Error('请输入正确的邮箱'));
        } else {
            callback();
        }
    },
    //是否是中文
    isZh: (rule, value, callback) => {
        let regex = /^[\u4E00-\u9FA5\uF900-\uFA2D]+$/;
        if (!regex.test(value)) {
            callback(new Error('只能输入汉字'));
        } else {
            callback();
        }
    },
    //最小数值
    minVal: (rule, value, callback) => {
        let n = rule.minVal
        if (value * 1 < n) {
            callback(new Error(`不能小于${n}`));
        } else {
            callback();
        }
    },
    //最大数值
    maxVal: (rule, value, callback) => {
        let n = rule.maxVal
        if (value * 1 > n) {
            callback(new Error(`不能大于${n}`));
        } else {
            callback();
        }
    },
    //只有英文
    isEn: (rule, value, callback) => {
        let regex = new RegExp("^[A-Z]*$");
        if (!regex.test(value)) {
            callback(new Error('只能输入大写英文字母'));
        } else {
            callback();
        }
    },
    //特殊符号
    isSpecial: (rule, value, callback) => {
        let regex = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~！@#￥……&*（）——|{}【】‘；：”“'。，、？]");
        if (regex.test(value)) {
            callback(new Error('禁止使用非法字符，例如：`~!@#$^&*()=|{}'));
        } else {
            callback();
        }
    },
    //是否是整数
    isInt: (rule, value, callback) => {
        let regex = /^-?[0-9]+$/;
        if (!regex.test(value)) {
            callback(new Error('请输入整数'));
        } else {
            callback();
        }
    }
}